package com.keensense.vcm.model;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.List;

/**
 * @author lanjian
 * @date 2020/8/1
 */
@XmlRootElement(name = "request")
public class SearchSubscriptionRequest {

    private SearchSubscriptionRequest() {
    }

    public SearchSubscriptionRequest(Integer subType, Page page) {
        this.subType = subType;
        this.page = page;
    }

    private Integer subType;

    private String userId;

    private String taskId;

    private String suspectId;

    private Integer dataType;

    private Integer dataFormat;

    private Integer imageMode;

    private List<String> camera;

    private Page page;

    @XmlElement
    public Integer getSubType() {
        return subType;
    }

    public void setSubType(Integer subType) {
        this.subType = subType;
    }

    @XmlElement
    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    @XmlElement
    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    @XmlElement
    public String getSuspectId() {
        return suspectId;
    }

    public void setSuspectId(String suspectId) {
        this.suspectId = suspectId;
    }

    @XmlElement
    public Integer getDataType() {
        return dataType;
    }

    public void setDataType(Integer dataType) {
        this.dataType = dataType;
    }

    @XmlElement
    public Integer getDataFormat() {
        return dataFormat;
    }

    public void setDataFormat(Integer dataFormat) {
        this.dataFormat = dataFormat;
    }

    @XmlElement
    public Integer getImageMode() {
        return imageMode;
    }

    public void setImageMode(Integer imageMode) {
        this.imageMode = imageMode;
    }

    @XmlElementWrapper(name = "cameraSns")
    @XmlElement(name = "cameraSn")
    public List<String> getCamera() {
        return camera;
    }

    public void setCamera(List<String> camera) {
        this.camera = camera;
    }

    @XmlElement
    public Page getPage() {
        return page;
    }

    public void setPage(Page page) {
        this.page = page;
    }

    public static class Page {

        public Page(Integer no, Integer pageSize) {
            this.no = no;
            this.pageSize = pageSize;
        }

        private Integer no;

        private Integer pageSize;

        @XmlElement
        public Integer getNo() {
            return no;
        }

        public void setNo(Integer no) {
            this.no = no;
        }

        @XmlElement
        public Integer getPageSize() {
            return pageSize;
        }

        public void setPageSize(Integer pageSize) {
            this.pageSize = pageSize;
        }
    }

}
